草庐IT

c++ - 异步写入位数组

全部标签

javascript - ES6 异步生成器结果

ES6有generatorsthatreturniterators:function*range(n){for(leti=0;i有一个关于返回Promises的异步函数的提议:asyncfunctionf(x){lety=awaitg(x);returny*y;}f(2).then(y=>{console.log(y);});那么如果我将两者结合起来会发生什么,就像这样:asyncfunction*ag(n){for(leti=0;i它返回什么?是Promise>?Iterator>?还有别的吗?我该如何食用它?我想应该有一个相应的for循环,什么将异步迭代其结果,例如:for(awa

javascript - 使用 promise 异步递归

所以我试图将我的代码转移到“Promise世界”,并且在许多地方当我不得不使用异步功能“循环”时-我只是以这种方式使用递归functiondoRecursion(idx,callback){if(idx现在我正在尝试改变Promise世界,但我很困varPromise=require('bluebird')functiondoRecursion(idx){returnnewPromise(function(resolve){if(idx谢谢。 最佳答案 我会选择Promise.all方法。它所做的是等待数组中的所有promise都已

javascript - 使用 chrome.tabs.executeScript 执行异步函数

我有一个功能,我想使用chrome.tabs.executeScript在页面中执行,从浏览器操作弹出窗口运行。权限设置正确,并且可以正常使用同步回调:chrome.tabs.executeScript(tab.id,{code:`(function(){//Dolotsofthingsreturntrue;})()`},r=>console.log(r[0]));//Logstrue问题是我要调用的函数要经过几个回调,所以我想使用async和await:chrome.tabs.executeScript(tab.id,{code:`(asyncfunction(){//Dolotso

javascript - 如何使用 Cloudflare Worker 发出异步请求(非阻塞)

我正在编写一个CloudflareWorker,它需要在我的原始请求完成后对分析服务执行ping操作。我不希望它阻止原始请求,因为我不希望分析系统的延迟或故障减慢或中断请求。如何创建在原始请求完成后开始和结束的请求?addEventListener('fetch',event=>{event.respondWith(handle(event))})asyncfunctionhandle(event){constresponse=awaitfetch(event.request)//Sendasyncanalyticsrequest.letpromise=fetch("https://e

javascript - 如何异步使用回调

console.log("before")functiong(p,callback){callback('1')}g(1,(re)=>{console.log(re);})console.log("after")结果是before1after。如何使函数调用异步意味着结果应该是beforeafter1没有setTimeout函数用例就像我在一个函数中有一个api调用,并在这个函数调用之后发送响应。但是因为这个函数被同步调用,所以发送响应被延迟了。所以我想在api调用之前发送响应console.log("beforecallback")apiRes.url=[url];apimanage

javascript - 我怎样才能延迟运行一些 JS 代码,直到我的所有异步 JS 文件都下载完毕?

更新:我有以下代码:functionaddScript(url){varscript=document.createElement('script');script.src=url;document.getElementsByTagName('head')[0].appendChild(script);}addScript('http://google.com/google-maps.js');addScript('http://jquery.com/jquery.js');...//runcodebelowthispointoncebothgoogle-maps.js&jquery.

javascript - 从异步函数获取数据

我有这个代码:functiongetData(){db.transaction(function(tx){tx.executeSql('SELECT*fromq',[],function(tx,result){varq=[];for(vari=0;i它没有按预期工作(它不返回任何东西)。假设发生了,因为db.transaction工作异步,但我正在使用回调返回数据。有人可以解释为什么它不起作用以及如何解决这个问题吗? 最佳答案 执行此操作的标准方法是包含您自己的回调,如下所示:functiongetData(callback){db

javascript - C 中的 ECMAScript-262 实现?

Possibleduplicate:Tinyjavascriptimplementation?我四处寻找Javascript的C实现,但找不到。我需要一个超便携应用程序,它可以在没有C++编译器的平台上运行。这是我的要求:ANSIC(尽可能兼容C89)最小的依赖性可嵌入(非独立)开源(兼容GPLv2)我不关心速度,但正确性是个问题。我希望它支持ECMAScript-262v5,但现在v3已经足够好了。这样的东西存在吗?如果没有,是否有任何移植相对简单的实现?DMDScript是我发现的最简单的,所以我最终可能会移植它。显然没有referenceimplementation,所以这可能是

javascript - 为什么不能在 node.js 中使用 ascii 模式在文件中写入空字节?

这是我的代码varfs=require('fs');varfp=fs.openSync('binary.txt',"w");varbyte='\0';fs.writeSync(fp,byte,null,'ascii');当我打开binary.txt文件时执行它后,它包含0x20而不是预期的空字节。现在当我使用fs.writeSync(fp,byte,null,'utf-8');我在文件中得到了想要的空字节。 最佳答案 这不是因为具体的文件,而是Node将ASCII转换为字节以写入的方式。您将在其中看到相同的行为:newBuffer(

javascript - Gulp - 缩小 JS 并写入相同的目的地

我目前正在重构一个项目,之前所有缩小的JavaScript文件都放在一个特定的目录中。现在我需要将缩小版本保留在与其源文件相同的目录中。目前我这样做:gulp.task('scripts',function(){returngulp.src(source_paths.scripts).pipe(uglify({preserveComments:'false'})).pipe(rename({suffix:".min"})).pipe(gulp.dest('./build/js')).pipe(notify({message:'Scriptstaskcomplete!',onLast:t